home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-11-06 | 39.6 KB | 1,355 lines |
- /* suprogram for "Notes.pprx" */
-
- signal on halt
- signal on break_c
- signal on break_e
- signal on break_d
- call ppm_SetStyle(N)
- call ppm_SetMagMode(180)
- call ppm_UpdateScreen()
-
-
- noteneingabe:
- /* smallest notedistance */
- sysart = "notesystem:2"
- systemart = ppm_Getform("Please repeat your choice of the notesystems... (2, 1v oder 1b)", 3, sysart)
- select
- when systemart == '2' then zdist = 4
- when systemart == '1v' then zdist = 2
- when systemart == '1b' then zdist = 2
- otherwise noteneingabe()
- end
- zdist2 = zdist-2
- xgrdform = "(1,2,4,8 oder 16)"
- xgrd = ppm_GetForm("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform)
- if xgrd == '' then exit_msg("Break")
- select
- when xgrd == '1' then xg =0.7
- when xgrd == '2' then xg =1.4
- when xgrd == '4' then xg =2.8
- when xgrd == '8' then xg =5.6
- when xgrd == '16' then xg =11.2
- otherwise noteneingabe()
- end
-
- /* pointmessure of the notes */
- notepkt = 26
- call ppm_SetJustification(0)
-
- zz = 0 /* linecounter (german:Zeilenzähler) */
- notex = 3
- page = ppm_CurrentPage()
-
- pfad:
- do
- choose=ppm_Inform(2,"Please choose the notefile or break ...", "Break","File")
- if choose == 0 then exit_msg("Break!")
- eingabe = ppm_GetFileName("Pleace choose the notescriptfile ...", "Notes:")
- res = OPEN(notenfile, eingabe, 'R')
- if res == 0 then
- do
- call ppm_inform(1,"There was an error, or the file doesn't exists!!!","OK")
- pfad()
- end
- call ppm_ShowStatus("OK, I'm working ...")
- auslesen(notenfile)
- end
-
- /* x-distance of the notes */
- auslesen:
- do
- parse arg file
- noten = READCH(file, 4000)
- i=1
- do forever
- nw = word(noten, i)
- nn = word(noten, i+1)
- al = word(noten, i+2)
- if nw == 'P' then nw = 'p'
- if nw == 'D' then nw = 'd'
- if nw == 'C' then nw = 'c'
- if nw == 'L' then nw = 'l'
- if nn == 'L' then nn = 'l' N
- if nw == 'J' then nw = 'j'
- if nw == 'END' then nw = 'end'
- select
- when al == (X2C(4e0a)) then al = 'n'
- when al == (X2C(6e0a)) then al = 'n'
- when al == (X2C(300a)) then al = '0'
- otherwise exit_msg("There was an error!")
- end
- select
- when nn=='GB2' then nn = 'Gb2'
- when nn=='AB2' then nn = 'Ab2'
- when nn=='BB2' then nn = 'Bb2'
- when nn=='DB3' then nn = 'Db3'
- when nn=='EB3' then nn = 'Eb3'
- when nn=='GB3' then nn = 'Gb3'
- when nn=='AB3' then nn = 'Ab3'
- when nn=='BB3' then nn = 'Bb3'
- when nn=='DB4' then nn = 'Db4'
- when nn=='EB4' then nn = 'Eb4'
- when nn=='GB4' then nn = 'Gb4'
- when nn=='AB4' then nn = 'Ab4'
- when nn=='BB4' then nn = 'Bb4'
- when nn=='DB5' then nn = 'Db5'
- when nn=='EB5' then nn = 'Eb5'
- otherwise NOP
- end
- call auswahl()
- i=i+3
- end
- end
-
-
-
- auswahl:
-
- do
- select
- when nw == 'j' then do
- zz = 0 /* linecounter */
- notex = 3
- return
- end
- when nw == 'end' then
- do
- call ppm_ClearStatus()
- exit_msg("Ready!")
- end
- when nw=='s' then
- do
- xw = xg/16
- nw='x'
- yv = 0
- end
- when nw=='S' then
- do
- xw = xg/16
- nw='X'
- yv = 0.47
- end
- when nw=='e' then
- do
- xw = xg/8
- nw='e'
- yv = 0
- end
- when nw=='E' then
- do
- xw = xg/8
- nw='E'
- yv = 0.47
- end
- when nw=='q' then
- do
- xw = xg/4
- nw='q'
- yv = 0
- end
- when nw=='Q' then
- do
- xw = xg/4
- nw='Q'
- yv = 0.47
- end
- when nw=='h' then
- do
- xw = xg/2
- yv = 0
- end
- when nw=='H' then
- do
- xw = xg/2
- yv = 0.47
- end
- when nw=='w' then
- do
- xw = xg
- nw='w'
- yv = 0
- end
- when nw=='W' then
- do
- xw = xg
- nw='W'
- yv = 0.47
- end
-
- /* point after a note */
-
- when nw == 'pt' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- when nn == '0' then do
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("There was an error")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
-
- when nw == 'PT' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- when nn == '0' then
- do
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("There was an error")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
-
- /* Barline */
- when nw == 'l' then
- do
- call ppm_SetLineWeight(0.25)
- call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
- notex = notex+0.2
- return
- end
-
- /* Pausen */
- when nw == 'p' then
- do
- pausenwert:
- x = notex
- select
- when nn== '0' then do
- end
- when nn== '1' then do
-
- y = 2.28+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg
- notex = notex+xw
- end
-
- when nn== '2' then do
-
- y = 2.32+zz
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg/2
- notex = notex+xw
- end
-
- when nn== '4' then do
-
- y = 2.07+zz
- Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
- xw = xg/4
- notex = notex+xw
- end
-
- when nn== '8' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
- xw = xg/8
- notex = notex+xw
- end
-
- when nn== '16' then do
-
- y = 2.21+zz
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
- xw = xg/16
- notex = notex+xw
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("There was an error")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
-
- when nw == 'c' then
- do
- select
-
- when nn== '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn== '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn== '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn== '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn== '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- when nn == '0' then do
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("There was an error")
- end
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("There was an error!")
- end
- end
-
-
- /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
-
- call ppm_SetLineWeight(0.25)
-
- select
- when nn=='f#5' then
- do
- yw = 0.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='f5' then
- do
- yw = 0.645
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='e5' then
- do
- yw = 0.745
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='eb5' then
- do
- yw = 0.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='d#5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='d5' then
- do
- yw = 0.845
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='db5' then
- do
- yw = 0.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c#5' then
- do
- yw = 0.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='c5' then
- do
- yw = 0.945
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='b4' then
- do
- yw = 1.045
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='bb4' then
- do
- yw = 1.045
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='a#4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='a4' then
- do
- yw = 1.145
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='ab4' then
- do
- yw = 1.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='g#4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g4' then
- do
- yw = 1.245
- if al == 'n' then call auflhoch()
- end
- when nn=='gb4' then
- do
- yw = 1.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#4' then
- do
- yw = 1.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f4' then
- do
- yw = 1.345
- if al == 'n' then call auflhoch()
- end
- when nn=='e#4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e4' then
- do
- yw = 1.445
- if al == 'n' then call auflhoch()
- end
- when nn=='eb4' then
- do
- yw = 1.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d4' then
- do
- yw = 1.545
- if al == 'n' then call auflhoch()
- end
- when nn=='db4' then
- do
- yw = 1.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='c#4' then
- do
- yw = 1.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='c4' then
- do
- yw = 1.645
- if al == 'n' then call auflhoch()
- end
- when nn=='b3' then
- do
- yw = 1.745
- if al == 'n' then call auflhoch()
- end
- when nn=='bb3' then
- do
- yw = 1.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='a#3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='a3' then
- do
- yw = 1.845
- if al == 'n' then call auflhoch()
- end
- when nn=='ab3' then
- do
- yw = 1.845
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='g#3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='g3' then
- do
- yw = 1.945
- if al == 'n' then call auflhoch()
- end
- when nn=='gb3' then
- do
- yw = 1.945
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='f#3' then
- do
- yw = 2.045
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='f3' then
- do
- yw = 2.045
- if al == 'n' then call auflhoch()
- end
- when nn=='e#3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e3' then
- do
- yw = 2.145
- if al == 'n' then call auflhoch()
- end
- when nn=='eb3' then
- do
- yw = 2.145
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='d#3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='d3' then
- do
- yw = 2.245
- if al == 'n' then call auflhoch()
- end
- when nn=='db3' then
- do
- yw = 2.245
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='c#3' then
- do
- yw = 2.345
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='c3' then
- do
- yw = 2.345
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='b2' then
- do
- yw = 2.445
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='bb2' then
- do
- yw = 2.445
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='a#2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='a2' then
- do
- yw = 2.545
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='ab2' then
- do
- yw = 2.545
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g#2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='g2' then
- do
- yw = 2.645
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
-
- when nn=='gb2' then
- do
- yw = 2.645
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='f#2' then
- do
- yw = 2.745
- box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='f2' then
- do
- yw = 2.745
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='e2' then
- do
- yw = 2.845
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
-
- /* y-Raster der Noten - Notenhälse nach unten */
-
- when nn=='F#5' then
- do
- yw = 1.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='F5' then
- do
- yw = 1.12
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='E5' then
- do
- yw = 1.22
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='Eb5' then
- do
- yw = 1.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
- end
- when nn=='D#5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='D5' then
- do
- yw = 1.32
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='Db5' then
- do
- yw = 1.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
- when nn=='C#5' then
- do
- yw = 1.42
- call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
- call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
- end
-
- when nn=='C5' then
- do
- yw = 1.42
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='B4' then
- do
- yw = 1.52
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='Bb4' then
- do
- yw = 1.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='A#4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='A4' then
- do
- yw = 1.62
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='Ab4' then
- do
- yw = 1.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='G#4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G4' then
- do
- yw = 1.72
- if al == 'n' then call aufltief()
- end
- when nn=='Gb4' then
- do
- yw = 1.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#4' then
- do
- yw = 1.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F4' then
- do
- yw = 1.82
- if al == 'n' then call aufltief()
- end
- when nn=='E#4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E4' then
- do
- yw = 1.92
- if al == 'n' then call aufltief()
- end
- when nn=='Eb4' then
- do
- yw = 1.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D4' then
- do
- yw = 2.02
- if al == 'n' then call aufltief()
- end
- when nn=='Db4' then
- do
- yw = 2.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='C#4' then
- do
- yw = 2.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='C4' then
- do
- yw = 2.12
- if al == 'n' then call aufltief()
- end
- when nn=='B3' then
- do
- yw = 2.22
- if al == 'n' then call aufltief()
- end
- when nn=='Bb3' then
- do
- yw = 2.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='A#3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='A3' then
- do
- yw = 2.32
- if al == 'n' then call aufltief()
- end
- when nn=='Ab3' then
- do
- yw = 2.32
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='G#3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='G3' then
- do
- yw = 2.42
- if al == 'n' then call aufltief()
- end
- when nn=='Gb3' then
- do
- yw = 2.42
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='F#3' then
- do
- yw = 2.52
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='F3' then
- do
- yw = 2.52
- if al == 'n' then call aufltief()
- end
- when nn=='E#3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='E3' then
- do
- yw = 2.62
- if al == 'n' then call aufltief()
- end
- when nn=='Eb3' then
- do
- yw = 2.62
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
- when nn=='D#3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='D3' then
- do
- yw = 2.72
- if al == 'n' then call aufltief()
- end
- when nn=='Db3' then
- do
- yw = 2.72
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='C#3' then
- do
- yw = 2.82
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='C3' then
- do
- yw = 2.82
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='B2' then
- do
- yw = 2.92
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='Bb2' then
- do
- yw = 2.92
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- end
-
- when nn=='A#2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='A2' then
- do
- yw = 3.02
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='Ab2' then
- do
- yw = 3.02
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G#2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='G2' then
- do
- yw = 3.12
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='Gb2' then
- do
- yw = 3.12
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- end
-
- when nn=='F#2' then
- do
- yw = 3.22
- box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='F2' then
- do
- yw = 3.22
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
-
- when nn=='E2' then
- do
- yw = 3.32
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
- call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
- call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
- end
- otherwise
- do
- call ppm_ClearStatus()
- exit_msg("There was an error!")
- end
- end
-
-
- /* dimension of a notebox */
- notewidht = 0.64
- noteheight = 0.97
-
-
- boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
- call ppm_SetSize(notepkt)
- call ppm_TextIntoBox(boxid, nw)
- bakx = notex
- notex = (notex + xw)
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- return
- end
- exit
-
- auflhoch:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
- return
- end
-
- aufltief:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
- return
- end
-
- break_d:
- break_e:
- break_c:
- halt:
- call exit_msg("User aborted Genie!")
-
-
- exit_msg: procedure
- do
- parse arg message
-
- if message ~= '' then
- call ppm_Inform(1,message,)
-
- call ppm_ClearStatus()
- call ppm_AutoUpdate(1)
- exit
- end
-
-